package frankenstein.algo;
import java.util.*;

public class StrategyPattern extends Pattern {

	public static int strategyPatternNumber = 0;
	
	public StrategyPattern(LinkedList<Integer> classesUsed, LinkedList<Integer> classesUsing,
			LinkedList<Integer> respsUsed, LinkedList<Integer>respsUsing, ArrayList<Integer> interfaces) {
		this.patternType = STRATEGY;
		strategyPatternNumber++;
		this.usedClasses.addAll(classesUsed);
		this.usingClasses.addAll(classesUsing);
		this.usedResponsibilities.addAll(respsUsed);
		this.usingResponsibilities.addAll(respsUsing);
		this.interfacesInvolved.addAll(interfaces);
		this.patternInterface = this.interfacesInvolved.get(0);
		this.patternName = "Strategy";
	}

	public static int getStrategyPatternNumber() {
		return strategyPatternNumber;
	}

	public static void setStrategyPatternNumber(int strategyPatternNumber) {
		StrategyPattern.strategyPatternNumber = strategyPatternNumber;
	}

	public Integer getStrategyInterface(){
		return this.patternInterface;
	}
}
